package asphalt2.processor
{
	import asphalt2.control.IControl;
	
	import mx.modules.ModuleLoader;
	/**
	 * 画面遷移を伴うプロセッサー
	 * @author c9katayama
	 **/
	public class BaseModuleTransitionProcessor extends BasePageTransitionProcessor implements IPageTransitionProcessor
	{
		/**
		 * @param control コントロールクラス
		 * @param modulePath 次に表示するモジュールパス
		 * @param pageContainerId 表示対象のPageContainerのid nullの場合、自分の親に対して画面入れ替えをします。
		 * @param nextPageProperties 次に表示するページに対してセットするプロパティ　このプロパティを使って、画面間のデータを受け渡しできます。
		 */
		public function BaseModuleTransitionProcessor(control:IControl, 
													modulePath:String, 
													pageContainerId:String=null,
													nextPageProperties:Object=null)		
		{
			super(control,ModuleLoader,pageContainerId,initProperties(modulePath,nextPageProperties));
		}
		protected function initProperties(modulePath:String,p:Object):Object{
			if(p==null){
				p = {};
			}
			p.url = modulePath;
			return p;
		}
	}
}